OpenMP compiler for a Software Distributed Shared Memory System SCASH

نویسندگان

  • Mitsuhisa Sato
  • Hiroshi Harada
  • Yutaka Ishikawa
چکیده

In this paper, we present an implementation of OpenMP compiler for a page-based software distributed shared memory system, SCASH on a cluster of PCs. For programming distributed memory multiprocessors such as clusters of PC/WS and MPP, message passing is usually used. A message passing system requires programmers to explicitly code the communication and makes writing parallel programs cumbersome. OpenMP is attracting wide-spread interests because of its easy-to-use parallel programming model. While OpenMP is designed as a programming model for shared memory hardware, one way to support OpenMP in a distributed memory environment is to use a software distributed shared memory system (SDSM) as an underlying runtime system for OpenMP. Our target SDSM is a page-based software distributed shared memory system, SCASH[2], which is running on a cluster of PCs connected by a high speed network Myrinet. In the most SDSMs, only part of the address space is shared. In SCASH, the address space allocated by a shared memory allocation primitive can be shared among the processors. Variables declared in global scope are private in the processor. We call this memory model, \shmem memory model". Parallel programs using the Unix \shmem" system calls use this memory model. In this model, all shared variables must be allocated at run-time at the beginning of execution. We have implemented the OpenMP compiler for \shmem memory model" using Omni OpenMP compiler system [4]. The compiler detects references to a shared data object, and rewrite it to the reference into objects re-allocated in shared memory area. H. Lu, et.al. [3] present an OpenMP implementation for TreadMarks[1] software DSM. Their compiler only supports a subset of OpenMP. Instead, they propose some modi cations of OpenMP standard to make OpenMP programs run easier and more e cient. This approach may loose portability of OpenMP programs. Our compiler supports a full set of OpenMP so that OpenMP compliant programs runs on SDSMs without any modi cations. In the next section, we present overview of the Omni OpenMP compiler system and SCASH as background. Section 3 describes how to translate the OpenMP programs for \shmem memory model" and some preliminary results. Section 4 presents our concluding remarks.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Towards Dynamic Load Balancing Using Page Migration and Loop Re-partitioning on Omni/SCASH

Increasingly large-scale clusters of SMPs continue to become majority platform in HPC field. Such a cluster environment, there may be load imbalances due to several reasons and mis-placement of data which bring performance bottlenecks. To overcome these problems, some dynamic load balancing mechanisms are needed. In this paper, we report our ongoing work on dynamic load balancing extention to O...

متن کامل

Preliminary Evaluation of Dynamic Load Balancing Using Loop Re-partitioning on Omni/SCASH

Increasingly large-scale clusters of PC/WS continue to become majority platform in HPC field. Such a commodity cluster environment, there may be incremental upgrade due to several reasons, such as rapid progress in processor technologies, or user needs and it may cause the performance heterogeneity between nodes from which the application programmer will suffer as load imbalances. To overcome t...

متن کامل

Design of OpenMP Compiler for an SMP Cluster

In this paper, we present a design of OpenMP compiler for an SMP cluster. Although clusters of SMPs are expected to be one of the cost-e ective parallel computing platforms, both of inter and intra node parallelism must be exploited to achieve high performance. These two levels of structure complicate parallel programming. The OpenMP is an emerging standard for parallel programming on shared-me...

متن کامل

Is OpenMP for Grids?

This paper presents an overview of an ongoing NSFsponsored project for the study of runtime systems and compilers to support the development of efficient OpenMP parallel programs for distributed memory systems. The first part of the paper discusses a prototype compiler, now under development, that will accept OpenMP and will target TreadMarks, a Software Distributed Shared Memory System (SDSM),...

متن کامل

Supporting Realistic OpenMP Applications on a Commodity Cluster of Workstations

This paper describes compiler techniques that can translate standard OpenMP applications into code for distributed computer systems and optimization techniques to enhance the performance of realistic OpenMP application. OpenMP has emerged as an important model and language extension for shared-memory parallel programming. However, despite OpenMP's success on these platforms, it is not currently...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000